Развертывание
Подготовка
Проверьте наличие установленного Docker/Podman и WEB-Сервер КС.
❗ Требуемая версия WEB-Сервер КС: 8.0.x
Если на хосте отсутсвуют перечисленные инструменты, обратитесь к инструкции развертывания WEB-Сервер КС.
Через терминал
1. Получите root-права:
Наберите команду и введите пароль от пользователя root.
sudo su2. Скачайте архив сервиса конфигураций
3. Выполните установку:
bash /opt/wsks-8.0_443/ctl/ws_addapp.sh -t "wCs" -a "Keysystems.Configuration.Service.tar.gz" -p "auto" -vc "wcs" -wu "admin" -wpwd "12345"| Параметр | Значение | Описание |
|---|---|---|
-t | "wCs" | Тип устанавливаемого приложения. |
-a | "Keysystems.Configuration.Service.tar.gz" | Имя архива *.tar.gz для развертывания. |
-p | "auto" | Порт устанавливаемого приложения. При значении auto порт присваивается автоматически. |
-vc | "wcs" | Виртуальный каталог для приложения. Если не указан, то берется тип + кестрел порт. Используется для всех типов приложений. |
-wu | "admin" | Имя администратора сайта. |
-wpwd | "12345" | Пароль администратора сайта. |
С помощью КС Сервис Администрирования
1. Подключитесь к серверу.
Войдите в сервис КС Сервис Администрирования и выполните подключение к серверу.
2. Установите WEB-Сервер-КС 8.0.
2.1. Разверните узел контейнера «Docker-CE».
2.2. Найдите в списке контейнеров WEB-Сервер-КС 8.0 и нажмите кнопку загрузки напротив наименования.

2.3. Дождитесь завершения процесса загрузки.
✔️ После успешного завершения наименование WEB-Сервер-КС будет выделено жирным шрифтом, подтверждая успешную загрузку.
2.4. Перетащите WEB-Сервер-КС в графическую область docker.
2.5. В окне «Установить WEB-Сервер-КС» внесите изменения в значения параметров:
| Параметры | По умолчанию | Описание |
|---|---|---|
| Порт [443, 5444-5493] | 443 | Рабочий порт http сервера. |
| Порт мониторинга [9090-9100] | 9093 | Рабочий http порт модуля мониторинга prometheus. Выберите свободный порт в выпадающем списке. |
| Тип используемого http сервера | Nginx | Тип используемого http сервера. Выберите тип выпадающем списке: - Nginx (рекомендуется) - Apache - Angie (РРПО) |

- Нажмите [ОК]. И дождитесь окончания установки.
✔️ После успешного развертывания «WEB-Сервер-КС» будет отображен в состоянии 'остановлен'. Так и должно быть.

3. Установите сервис.
3.1. Разверните узел контейнера WEB-Сервер-КС 8.0.
3.2. Найдите в списке Сервис конфигураций и нажмите кнопку загрузки напротив наименования.
Дождитесь полной загрузки, наименование должно отобразиться жирным шрифтом - это значит, что архив успешно загружен.
3.3. Перетащите сервис в графическую область WEB-Сервер-КС.
В окне «Добавить приложение Сервис конфигураций» внесите изменения в значения параметров:
| Параметры | По умолчанию | Описание |
|---|---|---|
| Версия приложения | 1.0.12.225 | Версия загруженного архива. |
| Порт [54430-65535] | auto | Kestrel порт приложения. |
| Виртуальный каталог | wcs | Имя виртуального каталога приложения. |
| Имя администратора сайта | admin | Имя администратора. |
| Пароль администратора сайта | 12345 | Пароль администратора. |
3.4. Нажмите [ОК]. И дождитесь окончания установки.
✔️ После успешного развертывания «WEB-Сервер-КС» и «Сервис конфигураций» будут отображены в состоянии 'запущен'.

Проблемы после развертывания сервиса
An error occurred using the connection to database 'main' on server 'App_data/SettingsRegistry.db
Если сервис не запускается, а в логах ошибка, значит отсутствует папка App_data.
-------------------------------------------------- [ERR] An error occurred using the connection to database 'main' on server 'App_data/SettingsRegistry.db'.------------------------------------------------------------ [FTL] Application st artup exceptionSystem.Exception: Could not resolve a service of type 'Keysystems.Configuration.Service.DB.SettingsRegistryContext' for the parameter 'context' of method 'Configure' on type 'Keysystems.Configuration.Service.Startup'. ---> Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 14: 'unable to open database file'. at Microsoft.Data.Sqlite.SqliteException.ThrowExceptionForRC(Int32 rc, sqlite3 db) at Microsoft.Data.Sqlite.SqliteConnectionInternal..ctor(SqliteConnectionStringBuilder connectionOptions, SqliteConnectionPool pool) at Microsoft.Data.Sqlite.SqliteConnectionPool.GetConnection()at Microsoft.Data.Sqlite.SqliteConnectionFactory.GetConnection(SqliteConnection outerConnection) at Microsoft.Data.Sqlite.SqliteConnection.Open()at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected)at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenInternal(Boolean errorsExpected) at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected) at Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal.SqliteDatabaseCreator.Create() at Microsoft.EntityFrameworkCore.Storage.RelationalDatabaseCreator.EnsureCreated() at Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade.EnsureCreated() at Keysystems.Configuration.Service.DB.SettingsRegistryContext..ctor(DbContextOptions 1 options) in C:\GitLab-Runner\builds\iiosb6z4\0\dsr\ConfigurationServices\ConfigurationService\Keysystems.Configuration.Service\DB\SettingsRegistryContext.cs:line 21 at System.RuntimeMethodHandle.InvokeMethod(Object target, Span 1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions) at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor 2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScopeCache(ServiceCallSite callSite, RuntimeResolverContext context) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor 2.VisitCallSite(ServiceCallSite callSite, TArgument argument) at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass2_0.<RealizeService>b__0(ServiceProviderEngineScope scope) at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope) at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType) at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType) at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder) --- End of inner exception stack trace --- at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder) at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder) at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass15_0.<UseStartup>b__1(IApplicationBuilder app) at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder) at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app) at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken) --------------------------------------------------
Решение:
- Создайте папку App_data внутри каталога:
mkdir -p /opt/wsks-8.0_443/www/html/wsks_54449/App_data- Назначьте пользователю ks-www-data права на созданную папку:
chown ks-www-data:ks-www-data /opt/wsks-8.0_443/www/html/wsks_54449/App_data
chmod 770 /opt/wsks-8.0_443/www/html/wsks_54449/App_data- Запустите сервис:
bash /opt/wsks-8.0_443/ctl/ws_ctlapp.sh -p 54449 -m start